Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Rendered • View rawDownload


lang/README.ja.md v4.4.0-rc.3 (0115fa43) Text, 11.88 KB

Reticulum MeshChatX


Liam Cottle 氏による Reticulum MeshChat を大幅に改修・機能拡張したフォークです。

本プロジェクトはオリジナルの Reticulum MeshChat とは独立しており、提携関係にありません。

• ウェブサイト: meshchatx.com
• ソースコード: git.quad4.io/RNS-Things/MeshChatX
• 公式ミラー: github.com/Sudo-Ivan/MeshChatX — 現時点では Windows / macOS ビルドにも使用。
• 変更履歴: CHANGELOG.md
• TODO: Boards

Reticulum MeshChat からの主な変更

• LXST を使用
• Peewee ORM を生 SQL に置き換え
• Axios をネイティブ T383838fetch に置き換え
• 最新の Electron
• Web サーバーと同梱フロントエンドを含む T383838.whl によりデプロイの選択肢を拡張
• i18n
• 依存関係管理に PNPM と Poetry

│ [!WARNING] MeshChatX は旧バージョンの Reticulum MeshChat
│ とのデータ互換性を保証しません。マイグレーションやテスト前にデータをバックアップしてください。

│ [!WARNING] レガシーシステムはまだ完全にはサポートされていません。現在の最低要件: Python
│ T383838>=3.11、Node T383838>=24

必要条件

• Python T383838>=3.11(T383838pyproject.toml より)
• Node.js T383838>=24(T383838package.json より)
• pnpm T38383810.32.1(T383838package.json より)
• Poetry(T383838Taskfile.yml および CI ワークフローで使用)

T282828
task install
task lint:all
task test:all
task build:all

インストール方法

環境とパッケージ形式に合わせて選んでください。

┌──────────────────────────┬────────────────────┬───────────────────────────────────────┬──────────┐
│ 方法 │ フロントエンド含む │ アーキテクチャ │ 最適な… │
├──────────────────────────┼────────────────────┼───────────────────────────────────────┼──────────┤
│ Docker イメージ │ はい │ T383838linux/amd64, T383838linux/arm64 │ Linux … │
│ Python wheel (T383838.whl) │ はい │ Python がサポートする全アーキテクチャ │ Node ビ… │
│ Linux AppImage │ はい │ T383838x64, T383838arm64 │ ポータ… │
│ Debian パッケージ (T383838.deb) │ はい │ T383838x64, T383838arm64 │ Debian/… │
│ RPM パッケージ (T383838.rpm) │ はい │ CI 依存 │ Fedora/… │
│ ソースから │ ローカルビルド │ ホストアーキテクチャ │ 開発・… │
└──────────────────────────┴────────────────────┴───────────────────────────────────────┴──────────┘

備考:

• リリースワークフローは Linux T383838x64 および T383838arm64 の AppImage + DEB を明示的にビルドします。
• RPM も試行され、成功時にアップロードされます。

クイックスタート: Docker

T282828
docker compose up -d

デフォルトの compose ファイル:

• ホスト T383838127.0.0.1:8000 -> コンテナポート T3838388000
• T383838./meshchat-config -> T383838/config(永続化)

権限エラーが発生した場合:

T282828
sudo chown -R T79c0ff1000:1000 ./meshchat-config


リリースアーティファクトからのインストール

1) Linux AppImage (x64/arm64)

1. リリースから T383838ReticulumMeshChatX-v<バージョン>-linux-<アーキテクチャ>.AppImage をダウンロード。
2. 実行権限を付与して起動:

T282828
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage

2) Debian/Ubuntu T383838.deb (x64/arm64)

1. T383838ReticulumMeshChatX-v<バージョン>-linux-<アーキテクチャ>.deb をダウンロード。
2. インストール:

T282828
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb

3) RPM ベースのシステム

1. リリースに T383838ReticulumMeshChatX-v<バージョン>-linux-<アーキテクチャ>.rpm がある場合はダウンロード。
2. インストール:

T282828
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm

4) Python wheel (T383838.whl)

リリースの wheel にはビルド済みの Web アセットが含まれます。

T282828
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchatx --headless

T383838pipx もサポート:

T282828
pipx install ./reticulum_meshchatx-*-py3-none-any.whl

ソースからの実行(Web サーバーモード)

開発時やローカルのカスタムビルド向け。

T282828
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run python -m meshchatx.meshchat --headless --host T79c0ff127.0.0.1


サンドボックスで実行(Linux)

ネイティブの T383838meshchatx(エイリアス: T383838meshchat)をファイルシステムをより隔離した状態で動かすには、Reticulum と Web UI 向けの通常のネットワークアクセスを保ちつつ Firejail または Bubblewrap(T383838bwrap)を使えます。詳しい例(pip/pipx、Poetry、USB シリアルの注意)は次を参照:


同梱または同期された T383838meshchatx-docs から配信される場合、アプリ内の ドキュメント(MeshChatX ドキュメント)一覧にも同じページが表示されます。

ソースからのデスクトップパッケージビルド

スクリプトは T383838package.json と T383838Taskfile.yml に定義されています。

Linux x64 AppImage + DEB

T282828
pnpm run dist:linux-x64

Linux arm64 AppImage + DEB

T282828
pnpm run dist:linux-arm64

RPM

T282828
pnpm run dist:rpm

Task 経由:

T282828
task dist:fe:rpm

アーキテクチャサポート

• Docker: T383838amd64, T383838arm64
• Linux AppImage: T383838x64, T383838arm64
• Linux DEB: T383838x64, T383838arm64
• Windows: T383838x64, T383838arm64(ビルドスクリプトあり)
• macOS: ローカルビルド向けにビルドスクリプトあり(T383838arm64, T383838universal
• Android: リポジトリにプロジェクトと CI ワークフローあり

Android
設定

┌────────────────────────┬──────────────────────────────────────┬────────────┬─────────────────────┐
│ 引数 │ 環境変数 │ デフォルト │ 説明 │
├────────────────────────┼──────────────────────────────────────┼────────────┼─────────────────────┤
│ T383838--host │ T383838MESHCHAT_HOST │ T383838127.0.0.1 │ Web サーバーのバイ… │
│ T383838--port │ T383838MESHCHAT_PORT │ T3838388000 │ Web サーバーポート │
│ T383838--no-https │ T383838MESHCHAT_NO_HTTPS │ T383838false │ HTTPS を無効化 │
│ T383838--ssl-cert / T383838--ssl-key │ T383838MESHCHAT_SSL_CERT / T383838MESHCHAT_SSL_KEY │ (なし) │ PEM 証明書と鍵のパ… │
│ T383838--rns-log-level │ T383838MESHCHAT_RNS_LOG_LEVEL │ (なし) │ Reticulum(RNS)の… │
│ T383838--headless │ T383838MESHCHAT_HEADLESS │ T383838false │ ブラウザを自動で開… │
│ T383838--auth │ T383838MESHCHAT_AUTH │ T383838false │ 基本認証を有効化 │
│ T383838--storage-dir │ T383838MESHCHAT_STORAGE_DIR │ T383838./storage │ データディレクトリ │
│ T383838--public-dir │ T383838MESHCHAT_PUBLIC_DIR │ 自動/同梱 │ フロントエンドファ… │
└────────────────────────┴──────────────────────────────────────┴────────────┴─────────────────────┘

ブランチ

┌──────────┬────────────────────────────────────────────────────────────┐
│ ブランチ │ 目的 │
├──────────┼────────────────────────────────────────────────────────────┤
│ T383838master │ 安定版リリース。本番向けのコードのみ。 │
│ T383838dev │ 活発な開発。不安定または不完全な変更を含む場合があります。 │
└──────────┴────────────────────────────────────────────────────────────┘

開発

T383838Taskfile.yml のよく使うタスク:

T282828
task install
task lint:all
task test:all
task build:all

T383838Makefile のショートカット:

┌──────────────┬─────────────────────────────────────────┐
│ コマンド │ 説明 │
├──────────────┼─────────────────────────────────────────┤
│ T383838make install │ pnpm と poetry の依存関係をインストール │
│ T383838make run │ poetry 経由で MeshChatX を実行 │
│ T383838make build │ フロントエンドをビルド │
│ T383838make lint │ eslint と ruff を実行 │
│ T383838make test │ フロントエンドとバックエンドのテスト │
│ T383838make clean │ ビルド成果物と node_modules を削除 │
└──────────────┴─────────────────────────────────────────┘

バージョン管理

このリポジトリの現在のバージョンは T3838384.4.0 です。

• JavaScript / Electron のバージョンソースは T383838package.json
• T383838meshchatx/src/version.py は次で T383838package.json と同期します:

T282828
pnpm run version:sync

リリースの一貫性のため、必要に応じて (T383838package.json、T383838pyproject.toml、T383838meshchatx/__init__.py) のバージョンを揃えてください。

セキュリティ

• アプリ実行時の組み込み整合性チェックとデフォルトの HTTPS/WSS
• T383838.gitea/workflows/ の CI スキャンワークフロー

言語の追加

ロケールは自動検出されます。新しい言語には JSON ファイル 1 つで足ります:

1. T383838en.json から空のテンプレートを生成:

T282828
python scripts/generate_locale_template.py

全キーを空文字にした T383838locales.json が書き出されます。

2. 名前を変更してロケールディレクトリへ移動:

T282828
mv locales.json meshchatx/src/frontend/locales/xx.json

3. ファイル先頭の T383838_languageName にその言語の母語名を設定(例: T383838"Espanol", T383838"Francais")。言語選択に表示されます。

4. 残りの値をすべて翻訳。

5. キーの整合性を確認: T383838pnpm test -- tests/frontend/i18n.test.js --run

他のコード変更は不要です。アプリ・言語選択・テストはビルド時に T383838meshchatx/src/frontend/locales/ からロケールを読み込みます。

クレジット

Liam Cottle - オリジナル Reticulum MeshChat
RFnexus - Micron パーサー(JavaScript)
markqvist - Reticulum, LXMF, LXST


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────